﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Community.CsharpSqlite
{
    class Iocap
    {


        /*
    ** CAPI3REF: Device Characteristics
    **
    ** The xDeviceCapabilities method of the [sqlite3_io_methods]
    ** object returns an integer which is a vector of the these
    ** bit values expressing I/O characteristics of the mass storage
    ** device that holds the file that the [sqlite3_io_methods]
    ** refers to.
    **
    ** The SQLITE_IOCAP_ATOMIC property means that all writes of
    ** any size are atomic.  The SQLITE_IOCAP_ATOMICnnn values
    ** mean that writes of blocks that are nnn bytes in size and
    ** are aligned to an address which is an integer multiple of
    ** nnn are atomic.  The SQLITE_IOCAP_SAFE_APPEND value means
    ** that when data is appended to a file, the data is appended
    ** first then the size of the file is extended, never the other
    ** way around.  The SQLITE_IOCAP_SEQUENTIAL property means that
    ** information is written to disk in the same order as calls
    ** to xWrite().
    */
        //#define SQLITE_IOCAP_ATOMIC          0x00000001
        //#define SQLITE_IOCAP_ATOMIC512       0x00000002
        //#define SQLITE_IOCAP_ATOMIC1K        0x00000004
        //#define SQLITE_IOCAP_ATOMIC2K        0x00000008
        //#define SQLITE_IOCAP_ATOMIC4K        0x00000010
        //#define SQLITE_IOCAP_ATOMIC8K        0x00000020
        //#define SQLITE_IOCAP_ATOMIC16K       0x00000040
        //#define SQLITE_IOCAP_ATOMIC32K       0x00000080
        //#define SQLITE_IOCAP_ATOMIC64K       0x00000100
        //#define SQLITE_IOCAP_SAFE_APPEND     0x00000200
        //#define SQLITE_IOCAP_SEQUENTIAL      0x00000400
        public const int SQLITE_IOCAP_ATOMIC = 0x00000001;
        public const int SQLITE_IOCAP_ATOMIC512 = 0x00000002;
        public const int SQLITE_IOCAP_ATOMIC1K = 0x00000004;
        public const int SQLITE_IOCAP_ATOMIC2K = 0x00000008;
        public const int SQLITE_IOCAP_ATOMIC4K = 0x00000010;
        public const int SQLITE_IOCAP_ATOMIC8K = 0x00000020;
        public const int SQLITE_IOCAP_ATOMIC16K = 0x00000040;
        public const int SQLITE_IOCAP_ATOMIC32K = 0x00000080;
        public const int SQLITE_IOCAP_ATOMIC64K = 0x00000100;
        public const int SQLITE_IOCAP_SAFE_APPEND = 0x00000200;
        public const int SQLITE_IOCAP_SEQUENTIAL = 0x00000400;
    }
}
